home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / comm2 / zpont311.lha / zpoint-3.11 / Rexx / ZooLoge.ced < prev    next >
Text File  |  1995-03-09  |  7KB  |  154 lines

  1. /******************************************************************************/
  2. /* ZooLoge  © Candid Böschen 1993                                             */
  3. /* =======                                                                    */
  4. /*                                                                            */
  5. /* Autor : Candid Böschen                                                     */
  6. /* Z-Netz: C.BOESCHEN@INSIDER.ZER                                             */
  7. /*                                                                            */
  8. /*                                                                            */
  9. /* $VER: ZooLoge 0.9  © Candid Böschen (29.11.1993)                           */
  10. /*                                                                            */
  11. /* -------------------------------------------------------------------------- */
  12. /* ZooLoge ist ein ARexx-Script für CygnusEd. Es wertet das von ZPoint        */
  13. /* erstellte Logbuch aus. Auf Statistik habe ich verzichtet, ZooLoge gibt     */
  14. /* lediglich die angefallenen Einheiten und Gebühren aus. Billigtarif und     */
  15. /* Wochenende werden berücksichtigt. Vier Werte (zu Beginn des                */
  16. /* ARexx-Scripts) müssen an die jew. Gegebenheiten angepaßt werden.           */
  17. /*                                                                            */
  18. /*                                                                            */
  19. /* Für die Richtigkeit der ausgegebenen Daten gebe ich selbstverständlich     */
  20. /* keine Garantie. ZooLoge ist (bisher) quick and dirty. Zum Prüfen der       */
  21. /* Richtigkeit der Angaben habe ich einige okay1-Befehle im ARexx-Script      */
  22. /* vorgesehen. Die meisten sind auskommentiert und sollten bei Fehlern        */
  23. /* zur Hilfe genommen werden. Zu Beginn der Fehlersuche empfehle ich, den     */
  24. /* okay1-Befehl in der Funktion Tarif auszukommentieren.                      */
  25. /*                                                                            */
  26. /*                                                                            */
  27. /* Falls Fehler auftreten sollten, bitte ich um Zusendung des rel. Logbuchs   */
  28. /* und Beschreibung des Fehlers.                                              */
  29. /*                                                                            */
  30. /*                                                                            */
  31. /* Bedienung: CygnusEd starten und das von ZPoint erstellte Logbuch laden.    */
  32. /* Anschließend das ARexx-Script starten.                                     */
  33. /*                                                                            */
  34. /* -HISTORY------------------------------------------------------------------ */
  35. /*                                                                            */
  36. /* Datum: 29.11.1993, Version 0.9                                             */
  37. /*                                                                            */
  38. /* Erste veröffentlichte (noch Beta) Version.                                 */
  39. /*                                                                            */
  40. /******************************************************************************/
  41.  
  42.  
  43. /* Die folgenden vier Werte müssen angepaßt werden!!! */
  44.  
  45. SekuBillig = 720 /* hier die Sekunden für eine Billigtarif-Einheit eintragen */
  46. SekuNormal = 360 /* hier die Sekunden für eine Normaltarif-Einheit eintragen */
  47. NormBegin = 8 /* Uhr */                           /* Beginn des Normaltarifs */
  48. NormEnde = 18 /* Uhr */                             /* Ende des Normaltarifs */
  49.  
  50.  
  51. options results
  52.  
  53. address 'rexx_ced'
  54.  
  55. cr = '0A'X                               /* Zeilenvorschub für die Requester */
  56.  
  57. Einheiten = 0
  58. GesEinheiten = 0
  59.  
  60. 'Beg of File'                            /* An den Anfang der Datei springen */
  61. 'Mark location 1'            /* Am Anfang suchen wir vom Beginn der Datei an */
  62.  
  63. do forever
  64.  
  65.      call SucheNetcall()
  66. /*     okay2 "Abbrechen?"
  67.      if (result = 1) then
  68.           exit
  69.      end
  70. */
  71. end
  72.  
  73. exit
  74.  
  75.  
  76. SucheNetcall:
  77.  
  78. 'Jump to mark 1'                             /* Zur aktuellen Marke springen */
  79. "Search for 'Verbindung nach ' 0 0 1 0"
  80. ergebnis = result
  81. if ~(ergebnis = 1) then do
  82.         okay1 "Kein Netcall (mehr) gefunden!"||cr||cr||"Einheiten gesamt:"GesEinheiten||cr||"Kosten    gesamt: "GesEinheiten * 0.23||" DM"
  83.  
  84.         exit                                          /* ARexx-Script abbrechen */
  85. end
  86.  
  87. status 55                                      /* Inhalt der aktuellen Zeile */
  88. zeile = result
  89. 'End of line'
  90. 'Mark location 1'                 /* Stelle merken, da geht's nachher weiter */
  91. NZeit = WORD(zeile, 5)                              /* Hole die Netcall-Zeit */
  92. /*okay1 "NZeit: "NZeit*/
  93.  
  94. call ZaehlEinheiten()                        /* Kosten für Netcall bestimmen */
  95.  
  96. return /* SucheNetcall */
  97.  
  98.  
  99. ZaehlEinheiten:                              /* Kosten für Netcall bestimmen */
  100.  
  101. minuten = left(NZeit, lastpos(':', NZeit)-1)
  102. /*okay1 "Minuten = "minuten*/
  103. sekunden = right(NZeit, 2)
  104. /*okay1 "Sekunden = "sekunden*/
  105. sekunden = sekunden + minuten * 60
  106. /*okay1 "Sekunden = "sekunden*/
  107.  
  108. call Tarif()                                    /* Billig- oder Normaltarif? */
  109.  
  110. if (Tarif = billig) then
  111.         Einheiten = sekunden / SekuBillig
  112. else
  113.         Einheiten = sekunden / SekuNormal
  114.  
  115.         PointPos = pos('.', Einheiten)
  116.         if(PointPos ~= 0) then
  117.                 Einheiten = left(Einheiten, PointPos-1) + 1
  118.  
  119.         GesEinheiten = GesEinheiten + Einheiten
  120.  
  121. /*      okay1 "Tarif        = "Tarif||cr||"Sekunden     = 
  122.            "Sekunden||cr||"Einheiten    = 
  123.            "Einheiten||cr||"GesEinheiten = "GesEinheiten*/
  124.  
  125. return /* ZaehlEinheiten */
  126.  
  127.  
  128. Tarif:
  129.  
  130. "Search for 'Netcall gestartet' 0 0 0 0"
  131. ergebnis = result
  132. if ~(ergebnis = 1) then do
  133.     okay1 "Kann Netcall-Tag nicht finden!"
  134.     exit                                           /* ARexx-Script abbrechen */
  135. end
  136.  
  137. Tarif=""
  138. status 55                                      /* Inhalt der aktuellen Zeile */
  139. zeile = result
  140. if ((index(zeile, 'Saturday') = 0) & (index(zeile, 'Sunday') = 0)) then do
  141.         Time = WORD(zeile, 2)                              /* Zeit des Netcalls */
  142.         Stunde = left(Time, pos(':', Time)-1)            /* Stunde des Netcalls */
  143.         if ((Stunde >= NormBegin) & (Stunde < NormEnde)) then
  144.                 Tarif = normal
  145.         else
  146.                 Tarif = billig
  147.         end
  148. else
  149.         Tarif = billig                                            /* Wochenende */
  150.  
  151. /*okay1 "Tarif = " Tarif*/
  152.  
  153. return /* Tarif */
  154.